Predicate Abstraction of Programs with Non-linear Computation
نویسندگان
چکیده
Verification of programs relies on reasoning about the computations they perform. In engineering programs, many of these computations are non-linear. Although predicate abstraction enables model checking of programs with large state spaces, the decision procedures that currently support predicate abstraction are not able to handle such nonlinear computations. In this paper, we propose an approach to model checking a class of data-flow properties for engineering programs that contain non-linear products and transcendental functions. The novelty of our approach is the integration of interval constraint solving techniques into the automated predicate discovery/predicate abstraction process, which extends the expressive power of predicate abstraction-based model checking. Using this approach, we construct a prototype model checker for C programs called VISA (Verification of Industrial-Strength Applications). VISA is built on top of Berkeley’s BLAST and University of Nantes’ Realpaver. We successfully apply VISA to scientific computation libraries and avionics applications to verify the absence of certain runtime arithmetic errors.
منابع مشابه
Toward Automated Test Generation for Engineering Applications
In test generation based on model-checking, white-box test criteria are represented as trap conditions written in a temporal logic. A model checker is used to refute trap conditions with counter-examples. From a feasible counterexample test inputs are then generated. Earlier research has demonstrated the usefulness of this approach and revealed its weakness. The major problems of applying this ...
متن کاملVerification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation
Automatic verification of hardware and software implementations is crucial for building reliable computer systems. Most verification tools rely on decision procedures to check the satisfiability of various formulas that are generated during the verification process. This thesis develops new techniques for building efficient decision procedures and adds new capabilities to the existing decision ...
متن کاملTo Mor , to my parents , and to Rotem and her friends Winnie & the Pooh iv
The goal of shape analysis is to analyze properties of programs that perform destructive updating on dynamically allocated storage (heaps). In the past decade various frameworks have been proposed, most notable being the line of work based on shape graphs and canonical abstraction [SRW99, LAS00]. Frameworks have been proposed since, among them based on counter automata, predicate abstraction, a...
متن کاملProgress on Reachability Analysis of Hybrid Systems Using Predicate Abstraction
Predicate abstraction has emerged to be a powerful technique for extracting finite-state models from infinitestate systems, and has been recently shown to enhance the effectiveness of the reachability computation techniques for hybrid systems. Given a hybrid system with linear dynamics and a set of linear predicates, the verifier performs an on-the-fly search of the finite discrete quotient who...
متن کاملPredicate Abstraction and Canonical Abstraction for Singly-Linked Lists
Predicate abstraction and canonical abstraction are two finitary abstractions used to prove properties of programs. We study the relationship between these two abstractions by considering a very limited case: abstraction of (potentially cyclic) singly-linked lists. We provide a new and rather precise family of abstractions for potentially cyclic singlylinked lists. The main observation behind t...
متن کامل